package com.renjun.smweb.service.AdmissionService;


import com.alibaba.fastjson.JSONObject;
import com.renjun.smweb.dao.pojo.LoginInfo;
import com.itextpdf.text.DocumentException;
import com.renjun.smweb.exceptions.BaseException;

import java.io.IOException;
import java.sql.SQLException;
import java.text.ParseException;
import java.util.Map;

/**
 * Created by huamin on 2017/2/21.
 * 录取管理接口
 */
public interface AdmissionService {

    /**
     * 登记学生录取列表M7-11
     * @param params
     * @return
     * @throws SQLException
     */
    JSONObject queryXXDJXSList(Map<String, Object> params) throws SQLException, BaseException;

    /**
     * 导出登记学生录取列表M7-112
     *
     * @param
     * @return
     * by huamin
     */
    JSONObject expQueryXXDJXSList(Map<String, Object> params) throws SQLException, BaseException, IOException;

    /**
     * 录取学生名单列表M7-12
     * @param params
     * @return
     * @throws SQLException
     */
    JSONObject queryXXLuquList(Map<String, Object> params) throws SQLException, BaseException;

    /**
     * 导出录取学生名单列表M7-122
     *
     * @param
     * @return
     * by huamin
     */
    JSONObject expQueryXXLuquList(Map<String, Object> params) throws SQLException, BaseException, IOException;

    /**
     * 区县录取学生名单列表M7-13
     * @param params
     * @return
     * @throws SQLException
     */
    JSONObject queryQXLuquList(Map<String, Object> params) throws SQLException, BaseException;

    /**
     * 导出区县录取学生名单列表M7-132
     *
     * @param
     * @return
     * by huamin
     */
    JSONObject expQueryQXLuquList(Map<String, Object> params) throws SQLException, BaseException, IOException;

    /**
     * 录取-查看录取信息M7-20
     * @param params
     * @return
     * @throws SQLException
     */
    JSONObject queryluquListById(Map<String, Object> params) throws SQLException, BaseException;

    /**
     * 录取M7-21
     * @param {id}
     * @return{}
     *  by huamin
     */
    JSONObject setLuquById(Map<String, Object> params) throws SQLException, BaseException, ParseException;

    /**
     * 取消录取M7-22
     * @param {id}
     * @return{}
     *  by huamin
     */
    JSONObject cancelLuquById(Map<String, Object> params) throws SQLException, BaseException, ParseException;

    /**
     * 设置待统筹M7-23
     * @param {id}
     * @return{}
     *  by huamin
     */
    JSONObject setDaitongchouById(Map<String, Object> params) throws SQLException, BaseException, ParseException;

    /**
     * 取消待统筹M7-24
     * @param {id}
     * @return{}
     *  by huamin
     */
    JSONObject cancelDaitongchouById(Map<String, Object> params) throws SQLException, BaseException, ParseException;

    /**
     * 设置统筹录取M7-25
     * @param {id,lqxx}
     * @return{}
     *  by huamin
     */
    JSONObject setTongchouLuquById(Map<String, Object> params) throws SQLException, BaseException;

    /**
     * 统筹录取学校列表M7-251
     * @param {djxx}
     * @return{}
     *  by huamin
     */
    JSONObject getTongchouLuquSchoolList(Map<String, Object> params) throws SQLException, BaseException;
    /**
     * 取消统筹录取M7-26
     * @param {id}
     * @return{}
     *  by huamin
     */
    JSONObject cancelTongchouLuquById(Map<String, Object> params) throws SQLException, BaseException;

    /**
     * 批量录取M7-31
     * @param {}
     * @return{}
     *  by huamin
     */
    JSONObject setLuquByIdList(Map<String,Object> params, LoginInfo loginInfo) throws SQLException, BaseException, IOException, ParseException;


    /**
     * 批量设置待统筹M7-32
     * @param {}
     * @return{}
     *  by huamin
     */
    JSONObject setDaitongchouByIdList(Map<String,Object> params, LoginInfo loginInfo) throws SQLException, BaseException, IOException, ParseException;

    /**
     * 批量统筹录取M7-33
     * @param {}
     * @return{}
     *  by huamin
     */
    JSONObject setTongchouLuquByIdList(Map<String,Object> params, LoginInfo loginInfo) throws SQLException, BaseException, IOException, ParseException;

    /**
     * 生成待统筹学生上报表M7-4
     *
     * @param {}
     * @return []
     * by huamin
     */
    JSONObject expDaiTongchouSbReport(Map<String, Object> params, LoginInfo loginInfo) throws SQLException, BaseException, IOException;

    /**
     * 生成录取通知书M7-51
     *
     * @param {id}
     * @return []
     * by huamin
     */
    JSONObject expluquNoticeById(Map<String,Object> params) throws SQLException, BaseException, IOException, DocumentException, ParseException;

    /**
     * 生成录取通知书M7-52
     *
     * @param {}
     * @return []
     * by huamin
     */
    JSONObject expluquNoticeAll(Map<String,Object> params) throws SQLException, BaseException, IOException, DocumentException, ParseException;


}
